/**
 * @filename:AgentConfig 2025-05-14
 * @project starhub-schema  V1.0
 */
package com.starhub.common.bean.agent;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;

import lombok.Data;
import java.util.Date;

/**   
 * @Description:(智能体设置实体类)
 * @version: V1.0
 * @author: luosw
 */
@Data
@ApiModel
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(ignoreUnknown = true)
public class AgentConfig implements Serializable {

	private static final long serialVersionUID = 1747213615658L;
	
    @JsonSerialize(using = ToStringSerializer.class)
	@ApiModelProperty(name = "id" , value = "智能体ID")
	private Long id;
    
	@ApiModelProperty(name = "name" , value = "智能体名称")
	private String name;
    
	@ApiModelProperty(name = "identifier" , value = "标识符")
	private String identifier;
    
	@ApiModelProperty(name = "modelUsage" , value = "模型使用方式")
	private String modelUsage;
    
	@ApiModelProperty(name = "fixedModel" , value = "固定模型")
	private String fixedModel;
    
	@ApiModelProperty(name = "isStreaming" , value = "是否流式输出")
	private String isStreaming;
    
	@ApiModelProperty(name = "backgroundPrompt" , value = "背景提示词")
	private String backgroundPrompt;
    
	@ApiModelProperty(name = "welcomeMessage" , value = "欢迎消息")
	private String welcomeMessage;
    
	@ApiModelProperty(name = "promptTemplate" , value = "提示词内容")
	private String promptTemplate;
    
	@ApiModelProperty(name = "scenePrompt" , value = "场景提示词")
	private String scenePrompt;
    
	@ApiModelProperty(name = "fileUpload" , value = "是否支持文件上传")
	private String fileUpload;
    
	@ApiModelProperty(name = "referencedFunctions" , value = "引用的函数列表")
	private String referencedFunctions;
    
	@ApiModelProperty(name = "recommendedPrompts" , value = "推荐的提示词列表")
	private String recommendedPrompts;
    
	@ApiModelProperty(name = "vectorStores" , value = "向量知识库列表")
	private String vectorStores;
    
	@ApiModelProperty(name = "status" , value = "状态")
	private String status;
    
	@ApiModelProperty(name = "deleteType" , value = "逻辑删除标志，0为未删除，1为已删除")
	private Integer deleteType;
    
	@ApiModelProperty(name = "createTime" , value = "创建时间")
	private Date createTime;
    
	@ApiModelProperty(name = "updateTime" , value = "更新时间")
	private Date updateTime;
    
	@ApiModelProperty(name = "showWelcomeGuide" , value = "是否显示欢迎引导（0-否 1-是）")
	private String showWelcomeGuide;
    
	@ApiModelProperty(name = "vectorKnowledges" , value = "向量知识库配置")
	private String vectorKnowledges;
    
	@ApiModelProperty(name = "vectorResultUsage" , value = "向量库结果使用方式（direct/process_prompt）")
	private String vectorResultUsage;
    
	@ApiModelProperty(name = "maxtoken" , value = "对话最大token数")
	private Integer maxtoken;

}
